React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed React Native 的网络层(基于 RCTNetworking 或底层的 OkHttp、NSURLSession 等)默认不暴露 Set-Cookie 给 JavaScript 层。这是出于安全考虑。对于原生Android应用也通常有同样的限制。从 Android 9(API 级别 28)开始,默认情况下,Android 应用是不允许使用明文网络流量的。这意味着,如果你的应用尝试通过 HTTP 而非 HTTPS 发送或接收数据,应用将会失败。
克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法 Redux是内存中的状态存储,每次状态更新都会返回新的状态对象,这可能会导致内存的过度使用。其内存占用高,性能差。因此更加不适合在 React Native 中使用。
Redux采用全局状态管理,但更多时侯,我们可能只需要一个用于组件间通信的消息中间件,dispatch 触发的状态,并不需要集中存储。使用Redux可能会显得繁重和冗余。
我们可以通过 PubSubJS 使用类似消息中间件(发布、订阅)的方法来管理组件间的通信和数据的传递,其本身并不存储状态和处理状态变化,流程大概如下: